package br.com.pizzaria.model.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Criterion;

import br.com.pizzaria.hDAO.GenericDAO;
import br.com.pizzaria.model.Cliente;

public class ClienteDAO implements Serializable {

	private static final long serialVersionUID = 1L;
	private GenericDAO<Cliente, Integer> dao;

	public void cadastrar(Cliente cliente) {
		dao = new GenericDAO<Cliente, Integer>(Cliente.class);
		dao.inclui(cliente);
	}

	public void alterar(Cliente cliente) {
		dao = new GenericDAO<Cliente, Integer>(Cliente.class);
		dao.altera(cliente);
	}

	public Cliente consultar(Cliente cliente) {
		dao = new GenericDAO<Cliente, Integer>(Cliente.class);
		cliente = (Cliente) dao.consulta(cliente.getIdCliente());
		return cliente;
	}

	public List<Cliente> listarTodos() {
		dao = new GenericDAO<Cliente, Integer>(Cliente.class);
		Criterion in[] = new Criterion[] {};
		List<Cliente> lista = dao.listar(in, "nome");
		return lista;
	}

	public void excluir(Cliente cliente) {
		dao = new GenericDAO<Cliente, Integer>(Cliente.class);
		dao.exclui(cliente);
	}

}
